Chronologically navigating among time-based entries

ABSTRACT

Chronologically navigating among time-based entries stored by a physical computing device having a processor configured to execute a time-based application includes displaying, with the computing device, a time-based entry with at least one of a forward control and a backward control; in response to a user selecting the forward control, displaying with the computing device a subsequent time-based entry, the subsequent time-based entry including a shared property with the displayed time-based entry; and in response to the user selecting the backward control, displaying with the computing device a previous time-based entry, the previous time-based entry including a shared property with the displayed time-based entry.

BACKGROUND

Aspects of the present invention relate in general to the display ofdigitally stored time-based entries, and more particularly, to thechronological navigation among such time-based entries.

Time-based applications rely on the storage of chronological records(i.e., time-based entries) to organize various events represented by theentries. An example of a computerized time-based application is acalendar application. Calendar applications allow a user toelectronically keep track of his or her scheduled events by creating andstoring a separate calendar entry (i.e., a time-based entry) for eachscheduled event. A calendar entry may contain information related to itsassociated scheduled event, including the date, time, location, andinvited participants of the scheduled event. Often calendar entries forscheduled events also include a description of the event and/or acategory associated with the scheduled event.

A user viewing a calendar entry through a computerized calendarapplication may also desire to view related calendar entries stored bythe application. For example, a user may wish to refer to a previousrelated scheduled event to view information associated therewith whenplanning a new scheduled event. Likewise, during a scheduled event, auser may wish to refer to the calendar entry for a subsequent relatedscheduled meeting to add important information thereto. Typicallyrelated calendar entries can be viewed only after first performing amanual search of the calendar entries stored by the calendarapplication.

BRIEF SUMMARY

A method for chronologically navigating among time-based entries storedby a physical computing device having a processor configured to executea time-based application includes displaying, with the computing device,a time-based entry with at least one of a forward control and a backwardcontrol; in response to a user selecting the forward control, displayingwith the computing device a subsequent time-based entry, the subsequenttime-based entry including a shared property with the displayedtime-based entry; and in response to the user selecting the backwardcontrol displaying, with the computing device, a previous time-basedentry, the previous time-based entry including a shared property withthe displayed time-based entry.

A computing system includes a processor and a memory communicativelycoupled to the processor, the memory including a plurality of time-basedentries stored thereon and a display device configured to display one ofthe time-based entries with at least one of a forward control and abackward control. The processor is configured to, in response to a userselecting the forward control, navigate to a subsequent one of thetime-based entries, the subsequent one of the time-based entriesincluding a shared property with the displayed time-based entry; and inresponse to the user selecting the backward control, navigate to aprevious one of the time-based entries, the previous one of thetime-based entries including a shared property with the displayedtime-based entry.

A computer program product for calendar navigation includes a computerreadable storage medium including computer readable code embodiedtherewith. The computer readable program code includes computer readableprogram code configured to display a time-based entry with at least oneof a forward control and a backward control; computer readable programcode configured to, in response to a user selecting the forward control,display a subsequent time-based entry, the subsequent time-based entryincluding a shared property with the displayed time-based entry; andcomputer readable program code configured to, in response to the userselecting the backward control, display a previous time-based entry, theprevious time-based entry including a shared property with the displayedtime-based entry.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The accompanying drawings illustrate various embodiments of theprinciples described herein and are a part of the specification. Theillustrated embodiments are merely examples and do not limit the scopeof the claims.

FIG. 1 is a diagram showing an illustrative computerized calendar systemproviding a user a means to navigate to a related backward or subsequentevent, according to one embodiment of principles described herein.

FIG. 2 is a diagram of a displayed illustrative calendar entry (202) ina computerized calendar system, according to one embodiment ofprinciples described herein.

FIG. 3 is a diagram showing an illustrative sequence of calendar entriesin a computerized calendar system, according to one embodiment ofprinciples described herein.

FIG. 4 is a diagram an illustrative displayed calendar entry in acomputerized calendar system, according to one embodiment of principlesdescribed herein.

FIG. 5 is a diagram showing an illustrative sequence of calendar events,according to one embodiment of principles described herein.

FIG. 6 is a flowchart showing an illustrative method for calendarnavigation, according to one embodiment of principles described herein.

Throughout the drawings, identical reference numbers designate similar,but not necessarily identical, elements.

DETAILED DESCRIPTION

The present specification relates to the efficient navigation throughtime-based application entries such as calendar entries stored by acomputerized calendar application. According to one illustrativeembodiment, a user interface for a computerized calendar application mayprovide a forward control and/or a backward control. The forward controlmay cause the calendar application to skip to the next calendar entrywhich is related to the calendar entry being currently displayed.Likewise, the backward control may cause the calendar application toskip to a backward calendar entry related to calendar entry currentlybeing displayed.

In certain embodiments, a user may place tags within some of thecalendar entries. The forward and backward controls may be configured tojump to different calendar entries having a similar tag. A computerizedcalendar application embodying principles described herein may allow auser a quick and efficient means to navigate through several calendarentries.

For purposes of illustration, of the principles of the presentspecification will be given generally as they relate to the navigationamong time-based calendar entries in a calendar application. However, itwill be readily understood that the principles described herein may beapplied to any time-based application that utilizes time-based entries.For example, the principles described herein may also be applied tocomputer applications such as email applications, workflow applications,and docketing applications.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations of the presentinvention may be written in an object oriented programming language suchas Java, Smalltalk, C++ or the like. However, the computer program codefor carrying out operations of the present invention may also be writtenin conventional procedural programming languages, such as the “C”programming language or similar programming languages. The program codemay execute entirely on the user's computer, partly on the user'scomputer, as a stand-alone software package, partly on the user'scomputer and partly on a remote computer or entirely on the remotecomputer or server. In the latter scenario, the remote computer may beconnected to the user's computer through a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

The present invention is described below with reference to flowchartillustrations and/or block diagrams of methods, apparatus (systems) andcomputer program products according to embodiments of the invention. Itwill be understood that each block of the flowchart illustrations and/orblock diagrams, and combinations of blocks in the flowchartillustrations and/or block diagrams, can be implemented by computerprogram instructions. These computer program instructions may beprovided to a processor of a general purpose computer, special purposecomputer, or other programmable data processing apparatus to produce amachine, such that the instructions, which execute via the processor ofthe computer or other programmable data processing apparatus, createmeans for implementing the functions/acts specified in the flowchartand/or block diagram block or blocks.

These computer program instructions may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including instruction meanswhich implement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer implemented process such that theinstructions which execute on the computer or other programmableapparatus provide steps for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

Throughout this specification and in the appended claims, the term“control” in relation to a user interface is to be broadly interpretedas a means for a user to indicate that a specific action is to beperformed by a physical computing system.

Throughout this specification and in the appended claims, the termcomputerized calendar system is to be broadly interpreted as a systemimplemented by at least one physical processor which stores andorganizes a plurality of calendar events accessible to a user through auser interface.

Referring now to the figures, FIG. 1 is a diagram of an illustrativecomputerized calendar system (100) allowing a user to navigate to arelated previous or subsequent calendar entry stored by the system(100). According to one illustrative embodiment, a computerized calendarsystem (100) may include a memory (102) having calendar software (106)to manage calendar entries (108) stored thereon. The computerizedcalendar system (100) may further include a processor (104) and a userinterface (110).

A computerized calendar system (100) may be embodied as a variety ofphysical computing devices including, but not limited to, a laptopcomputer, a desktop computer, and a Personal Digital Assistant (PDA). Acomputerized calendar system may include standard components such as aprocessor (104) to execute instructions and memory (102) for storingdata.

Various types of calendar software (106) may be used to assist users inthe task of managing their schedules. Calendar software (106) generallyoperates by storing calendar entries associated with scheduled eventsfor a particular user (112). These entries may be created, edited, andviewed by a user (112). Each calendar entry (108) may be associated witha date and time. Some types of calendar software may allow the user(112) to associate various electronic documents and other informationwith a particular calendar entry (108).

A user interface (110) may provide a means for the user (112) tointeract with a computerized calendar system (100). A user interface mayinclude an output component such as a display device and inputcomponents such as a mouse or keyboard. Information associated withcalendar entries (108) may be displayed to the user (112) through adisplay device. Instructions from the user to the computerized calendarsystem (100) may be received through a keyboard or mouse.

FIG. 2 is a diagram of a displayed illustrative calendar entry (202) ina computerized calendar system. According to one illustrativeembodiment, a user interface may display the calendar entry (202) to auser using, for example, a monitor or other display device. The calendarentry (202) may include event information (204), an event category(206), event tags (208), an event description (210), a “forward” control(212), a “backward” control (214), and an “all” control (216).

A user interface (200) may be configured to display an overview ofseveral calendar entries (202) over a typical calendar display. Acalendar entry may represent an event such as a meeting or appointment.A user may select a particular calendar entry (202) for a more detailedview of that calendar entry (202). FIG. 2 illustrates an example of adetailed view of a calendar entry.

Entry information (204) associated with a calendar entry (202) mayinclude the date, time, and location (if applicable) related to an eventrepresented by the calendar entry. A description (210) of the eventrepresented by a calendar entry may also be displayed. The description(210) may include notes from an event, electronic documents related tothe meeting or event and other sources of information that may beapplicable to an event represented by the calendar entry (202).

Calendar entries (202) may be placed within different categories (206).A category (206) may indicate the type of event represented by thecalendar entry (202). For example, if a user has a recurring staffmeeting, the user may create a staff meeting category (206) in his orher computerized calendar system. Each staff meeting may then beassigned to the created staff meeting category (206).

Through the user interface, a user may assign tags (208) to a calendarentry (202). A tag (208) may be assigned to indicate a particularproperty associated with the calendar entry (202). For example, a tag(208) may indicate a particular topic that was discussed or will bediscussed in a meeting. Furthermore, a tag (208) may indicate that aspecific individual was in charge or will be in charge of a particularmeeting. A user may place several tags (208) with a particular calendarentry. Some tags (208) may be placed with several different categories(206) of calendar entries (202).

The user interface (200) may provide a backward control (212) which maycause the computerized calendar system to navigate to a previous entryhaving a shared property of the displayed calendar entry. The sharedproperty may be a title, category, or tag associated with the displayedcalendar entry.

Likewise, the user interface (200) may provide a forward control (214)which may cause the computerized calendar system to navigate to asubsequent calendar entry having a shared property of the displayedcalendar entry. The shared property may be a title, category, or tagassociated with the displayed calendar entry.

In certain embodiments, the backward control (212) and the forwardcontrol (214) may be defaulted to navigate to a previous or subsequentcalendar entry based on the category (206) of the displayed calendarentry (202). However, a user may be provided with the tools to set thebackward control (212) and/or the forward control (214) to navigate to arelated title or tag.

According to certain embodiments, an “all” control (216) may be providedto allow a user to view a list of all calendar entries having aparticular shared property. This shared property may include a title, acategory, or a tag.

FIG. 3 is a diagram showing an illustrative sequence of calendar entries(300) in a computerized calendar system, some of which are related bycategory. According to one illustrative embodiment, a number of calendarentries (302-1 to 302-6) may be represented in chronological order(304). The currently displayed calendar entry (306) may be linked to aprevious and a subsequent calendar entry representing an event of thesame category.

As mentioned above, a calendar entry may be assigned to a particularcategory. The forward and backward controls may be configured to causethe computerized calendar system to navigate to a previous or subsequentrelated calendar entry. The related calendar entry may have a sharedcategory.

FIG. 3 shows several calendar entries (302-1 to 302-6) in chronologicalorder (304). Calendar entry 3 (302-3) is indicated as the displayedcalendar entry (306) and is placed within category A. When viewingcalendar entry 3 (302-3) and selecting the backward control, thecomputerized calendar system may navigate to the previous calendar entry(308) having been assigned to category A. In the case of FIG. 3,calendar entry 1 (302-1) is the previous calendar entry having beenassigned to category A. Likewise, when engaging the forward control, thecomputerized calendar system may navigate to the subsequent calendarentry (310) having been assigned to category A. In the case of FIG. 3,calendar entry 6 (302-6) is the previous calendar entry having beenassigned to category A.

FIG. 4 is a diagram an illustrative displayed calendar entry (400) thatallows a user to selectively navigate to a related previous orsubsequent calendar entry. According to one illustrative embodiment,when a user engages a forward or backward control, a list (410) mayappear prompting the user to select which property of the displayedcalendar entry to use when navigating to a previous or subsequentcalendar entry.

A list (410) may offer a user several properties from which a user mayselect a desired property to use when navigating to a previous orsubsequent calendar entry. These properties may include, but are notlimited to, title (402), category (404), instance (406), and tags(408-1, 408-2, 408-3).

If a user selects to navigate based on title (402), then thecomputerized calendar system may navigate to a previous or subsequentcalendar entry having a similar or exact title. Likewise, if a userselects to navigate based on category (404), then the computerizedcalendar system may navigate to a previous or subsequent calendar entryhaving a shared category.

In some cases, a calendar entry may have several instances throughoutthe timeline represented by the computerized calendar system. Forexample, a user may have a recurring appointment every month in whichthe only difference between instances of the appointment is the date andtime. A user may select to navigate to a previous or subsequent calendarentry based on the instance (406) of the displayed calendar entry.

As mentioned above, a user may assign a number of tags (408) to aparticular calendar entry. A user may select to navigate to a previousor subsequent calendar entry based on one of the tags (408) assigned tothe displayed calendar entry.

FIG. 5 is a diagram showing an illustrative sequence of calendar events(500), some of which are associated with a related event category, tag,or instance. According to certain embodiments, a user may navigate to aprevious or subsequent calendar entry based on a shared category,instance, or tag.

FIG. 5 is a sequence of calendar entries (500) showing several calendarentries (502) in chronological order (504). According to oneillustrative embodiment, a number of calendar entries (502-1 to 502-6)may be represented in chronological order (504). Calendar entry 3(502-3) is indicated as the displayed calendar entry (506) and is placedwithin category A. If a user selects the backward control and selectsthe category option, the computerized calendar system may navigate tothe previous calendar entry (508) having been placed within category A.In the case of FIG. 5, calendar entry 1 (502-1) is the previous calendarentry having been assigned to category A. Likewise, when a user selectsthe backward control and selects the tag 3 option, the computerizedcalendar system may navigate to the previous calendar entry (512) havingbeen assigned Tag 3. In the case of FIG. 5, calendar entry 2 (502-2) isthe previous calendar entry having been assigned tag 3.

If a user selects the forward control and selects the category option,the computerized calendar system may navigate to the subsequent calendarentry (510) having been placed within category A. In the case of FIG. 5,calendar entry 6 (502-6) is the previous calendar entry having beenassigned to category A. Likewise, when a user selects the forwardcontrol and selects the instance option, the computerized calendarsystem may navigate to the subsequent calendar entry (514) being aninstance of the currently displayed calendar entry (506). In the case ofFIG. 5, calendar entry 5 (502-5) is a subsequent instance of thedisplayed calendar entry (506). Furthermore, when a user selects theforward control and selects the tag 1 option, the computerized calendarsystem may navigate to the subsequent calendar entry (516) also havingbeen assigned tag 1. In the case of FIG. 5, calendar entry 6 (502-6) isa subsequent calendar entry having been assigned tag 1.

FIG. 6 is a flowchart showing an illustrative method (600) for calendarnavigation. According to certain embodiments, the method (600) mayinclude displaying (step 602) with a computerized calendar system acalendar entry with at least one of a forward control and a backwardcontrol. In response to a user selecting the forward control, thecomputerized calendar system displays (step 604) a subsequent calendarentry, the subsequent calendar entry including a shared property of thedisplayed calendar entry. In response to the user selecting the backwardcontrol, the computerized calendar system displays (step 606) a previouscalendar entry that shares a property of the displayed calendar entry.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the invention. Theembodiment was chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

Having thus described the invention of the present application in detailand by reference to embodiments thereof, it will be apparent thatmodifications and variations are possible without departing from thescope of the invention defined in the appended claims.

What is claimed is:
 1. A method for chronologically navigating amongtime-based entries stored by a physical computing device comprising aprocessor to execute a time-based application, the method comprising:displaying, with said computing device, a time-based entry with at leastone of a forward control and a backward control; in response to a userselecting said forward control, displaying with said computing device asubsequent time-based entry, said subsequent time-based entry comprisinga shared property with said displayed time-based entry; in response tosaid user selecting said backward control, displaying with saidcomputing device a previous time-based entry, said previous time-basedentry comprising a shared property with said displayed time-based entry;and with said computing device and in response to said user selecting atleast one of said forward control and said backward control, promptingsaid user to select a property associated with said displayed time-basedentry, in which said shared property is said property selected by saiduser; in which the shared property is assigned by a user.
 2. The methodof claim 1, in which said shared property comprises a category of saiddisplayed time-based entry.
 3. The method of claim 1, in which saidshared property comprises a tag associated with said displayedtime-based entry.
 4. The method of claim 3, in which said tag isselected by said user.
 5. The method of claim 1, in which said sharedproperty comprises at least a portion of a title of said displayedtime-based entry.
 6. The method of claim 1, further comprisingdisplaying, with said computing device, a comprehensive control withsaid displayed time-based entry, said comprehensive control causing saidcomputing device to display a list of all time-based entries comprisingsaid shared property if said comprehensive control is selected by saiduser.
 7. A computing system comprising: a processor; and a memorycommunicatively coupled to said processor, said memory comprising aplurality of time-based entries stored thereon; and a display device todisplay one of said time-based entries with at least one of a forwardcontrol and a backward control; in which said processor: in response toa user selecting said forward control, navigates to a subsequent one ofsaid time-based entries, said subsequent one of said time-based entriescomprising a shared property with said displayed time-based entry; inresponse to said user selecting said backward control, navigates to aprevious one of said time-based entries, said previous one of saidtime-based entries comprising a shared property with said displayedtime-based entry; prompts said user to select a property associated withsaid displayed time-based entry, in which said shared property is saidproperty selected by said user and in which said prompting of said userto select a property associated with said displayed time-based entryoccurs in response to said user selecting at least one of said forwardcontrol and said backward control; in which said shared property is atag, and in which said tag is assigned by a user.
 8. The computingsystem of claim 7, in which said shared property comprises a category ofsaid displayed time-based entry.
 9. The computing system of claim 7, inwhich said shared property comprises a tag associated with saiddisplayed time-based entry.
 10. The computing system of claim 7, inwhich said tag is selected by said user.
 11. The computing system ofclaim 7, in which said shared property comprises at least a portion of atitle of said displayed time-based entry.
 12. The computing system ofclaim 7, in which said processor further displays a comprehensivecontrol on said display device with said displayed time-based entry,said comprehensive control causing said processor to display on saiddisplay device a list of all time-based entries with said sharedproperty if said comprehensive control is selected by said user.
 13. Acomputer program product for calendar navigation, said computer programproduct comprising: a non-transitory computer readable storage mediumcomprising computer readable code embodied therewith, said computerreadable program code comprising: computer readable program code to,when executed by a processor, display a time-based entry with at leastone of a forward control and a backward control; computer readableprogram code to, when executed by a processor, in response to a userselecting said forward control, display a subsequent time-based entry,said subsequent time-based entry comprising a shared property with saiddisplayed time-based entry; and computer readable program code to, whenexecuted by a processor, in response to said user selecting saidbackward control, display a previous time-based entry, said previoustime-based entry comprising a shared property with said displayedtime-based entry, in which the shared property comprises a tagassociated with said displayed time-based entry, in which said tag isselected by said user; in which said computer readable program codefurther comprises computer readable program code to, when executed by aprocessor, prompt said user to select a property associated with saiddisplayed time-based entry, in which said shared property is saidproperty selected by said user; and in which said prompting of said userto select a property associated with said displayed time-based entryoccurs in response to said user selecting at least one of said backwardcontrol and said forward control.
 14. The computer program product ofclaim 13, in which said shared property further comprises a title ofsaid displayed time-based entry, or a category of said displayedtime-based entry.
 15. The computer program product of claim 13, furthercomprising computer readable program code to, when executed by aprocessor, assign a number of shared properties to said displayedtime-based entry.
 16. The computer program product of claim 15, in whichthe computer readable program code to, when executed by a processor,assign a number of shared properties to said displayed time-based entrycomprises computer readable program code to, when executed by aprocessor, assign a number of the tags to the displayed time-basedentry.